package com.haoze.nurseapp.dto;

import org.bson.types.ObjectId;
import org.springframework.data.mongodb.core.mapping.Document;

import javax.persistence.Id;
import java.util.Date;
import java.util.List;

@Document(collection = "notification")
public class Notification {

    public Notification() {
    }

    @Id
    private ObjectId id;

    private String notificationId;

    private Date notifyDate;

    private String content;

    private String contentType;//image、text、voice

    private String notifyLevel;//1 危急值 2普通

    private TargetUser targetUser;

    private SourceUser sourceUser;

    private Patient patient;

    private Boolean isRead;//发送的单个对象是否已读

    private Date readDate;//发送的单个对象读取时间

    private Boolean isNurseRead;//医生端和护士端聊天，护士是否读取

    private Date nurseReadDate;//护士读取时间

    private String type;//CRITICAL（危急值）、CHAT（聊天）、SYSTEM（系统广播）、TASK（一般任务消息）

    private List<ReadUser> readUserList;//群发消息的读取人员列表

    private String status;//0，待处理，1.已处理

    private String result;//处理结果

    private boolean isMsgRead;//医护人员是否读取消息

    public boolean getIsMsgRead() {
        return isMsgRead;
    }

    public void setIsMsgRead(boolean isMsgRead) {
        this.isMsgRead = isMsgRead;
    }

    public String getContentType() {
        return contentType;
    }

    public void setContentType(String contentType) {
        this.contentType = contentType;
    }

    public SourceUser getSourceUser() {
        return sourceUser;
    }

    public void setSourceUser(SourceUser sourceUser) {
        this.sourceUser = sourceUser;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getResult() {
        return result;
    }

    public void setResult(String result) {
        this.result = result;
    }

    public List<ReadUser> getReadUserList() {
        return readUserList;
    }

    public void setReadUserList(List<ReadUser> readUserList) {
        this.readUserList = readUserList;
    }

    public Boolean getNurseRead() {
        return isNurseRead;
    }

    public void setNurseRead(Boolean nurseRead) {
        isNurseRead = nurseRead;
    }

    public Date getNurseReadDate() {
        return nurseReadDate;
    }

    public void setNurseReadDate(Date nurseReadDate) {
        this.nurseReadDate = nurseReadDate;
    }

    public ObjectId getId() {
        return id;
    }

    public void setId(ObjectId id) {
        this.id = id;
    }

    public Date getNotifyDate() {
        return notifyDate;
    }

    public void setNotifyDate(Date notifyDate) {
        this.notifyDate = notifyDate;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getNotifyLevel() {
        return notifyLevel;
    }

    public void setNotifyLevel(String notifyLevel) {
        this.notifyLevel = notifyLevel;
    }

    public TargetUser getTarget() {
        return targetUser;
    }

    public void setTarget(TargetUser targetUser) {
        this.targetUser = targetUser;
    }

    public Patient getPatient() {
        return patient;
    }

    public void setPatient(Patient patient) {
        this.patient = patient;
    }

    public Boolean getRead() {
        return isRead;
    }

    public void setRead(Boolean read) {
        isRead = read;
    }

    public Date getReadDate() {
        return readDate;
    }

    public void setReadDate(Date readDate) {
        this.readDate = readDate;
    }

    public String getNotificationId() {
        return notificationId;
    }

    public void setNotificationId(String notificationId) {
        this.notificationId = notificationId;
    }

    public TargetUser getTargetUser() {
        return targetUser;
    }

    public void setTargetUser(TargetUser targetUser) {
        this.targetUser = targetUser;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }
}
